//@ sourceURL=user.js
$(function(){
	//alert("aaaaaaaaaaaaaaaa");
	findUsersByPage(1);
	//给"新增"标签添加click事件,点击的实收,查询所有的角色信息,给下拉列表框添加真实的角色
	$(".nav-tabs li:eq(2) a").click(function(e){
		e.preventDefault();
        $(this).tab('show');
        //查询所有的角色信息给下拉列表框
        findAllRoles();		
	});
	//给新增表单注册submit事件
	$("#addUserPanel form").submit(function(){
		return addUser();//必须return false
	});
	//点击用户名跳转到相应的信息界面skipmessage()
	
	
	
	
});
//添加用户
function addUser(){
	//获取添加用户的新数据
	var loginName=$("#addUserPanel form #inputEmail").val();
	var password=$("#addUserPanel form #inputPassword").val();
	var password2=$("#addUserPanel form #inputPassword2").val();
	var nickName=$("#addUserPanel form #nickName").val();
	var age=$("#addUserPanel form #age").val();
	var roleId=$("#addUserPanel form #roleNames").val();
	var sex=$("#addUserPanel form input[name=user-type]").val();
	
	if(password!=password2){
		alert("两个密码不相等!");
		$("#addUserPanel form #inputPassword").val("");
		$("#addUserPanel form #inputPassword2").val("");
		$("#addUserPanel form #inputPassword").focus();//把光标放在密码框中
		return false;
	}
	if(age<1){
		alert("年龄不能负数!!");
		$("#addUserPanel form #age").focus();
		return false;
	}
	
	//发送ajax异步请求,添加用户数据
	$.ajaxFileUpload({
		url:basePath+"adduser.do",
		secureuri:false,
		fileElementId:"addHeadPicture",
		type:"post",
		data:{
			"loginName":loginName,
			"password":password,
			"nickName":nickName,
			"age":age,
			"sex":sex,
			"roleId":roleId
		},
		dataType:"text",
		success:function(data,status){
			//readyState==4 and status==200
			//低版本的浏览器,回馈的文本<pre xx=yy>上传成功</pre>
			//去掉多余的文本
			data=data.replace(/<PRE.*?>/g,'');
			data=data.replace("<PRE>",'');
			data=data.replace("</PRE>",'');
			data=data.replace(/<pre.*?>/g,'');
			data=data.replace("<pre>",'');
			data=data.replace("</pre>",'');
			alert(data);
		},
		error:function(){
			alert("请求失败!!");
		}
	});
	return false;
}
//查询所有的角色信息
function findAllRoles(){
	//alert("findAllRoles");
	//发送ajax异步请求
	$.ajax({
		url:basePath+"findallroles.do",
		type:"get",
		dataType:"json",
		success:function(result){
			if(result.status==1){
				//获取数据
				var roles=result.data;
				//清空原有下拉列表框的内容,并添加新的内容
				$("#addUserPanel form #roleNames").html("");
				$(roles).each(function(index,role){
					var option="";
					//默认角色为学员
					if("学员"==role.name){
						option=`<option selected="selected" value="${role.id}">${role.name}</option>`;
					}else{
						option=`<option value="${role.id}">${role.name}</option>`;
					}
					
					$("#addUserPanel form #roleNames").append(option);
				});
				
			}else if(result.status==0){
				alert(result.message);
			}
		},
		error:function(){
			alert("请求失败!!");
		}
	});
}
//模糊+分页
function findUsersByPage(currentPage){
	//获取模糊关键字
	var userkeyword=$("#userPanel form input[type=text]").val();
	if(userkeyword==""){
		userkeyword="nochar";
	}
	//发送ajax异步请求
	$.ajax({
		url:basePath+"findusersbypage.do",
		type:"get",
		data:{
			"currentPage":currentPage,
			"userkeyword":userkeyword
		},
		dataType:"json",
		success:function(result){
			//readyState==4  and status=200
			if(result.status==1){
				//数据查询成功,给table和分页条dom编程
				//获取数据
				var page=result.data;
				var users=page.data;
				//清空表格的tbody
				$("#userPanel table tbody").html('');
				//循环users,并给tbody中添加tr
				$(users).each(function(index,user){
					//有角色,多个角色用逗号间隔,没有角色则显示无角色
					var roleString="";
					var roles=user.roles;
					$(roles).each(function(n,role){
						roleString+=role.name+",";
					});
					if(roleString.length==0){
						roleString="无角色";
					}else{
						//去掉字符串中的最后一个逗号
						//方案一:substr(begin,length)
						roleString=roleString.substr(0,roleString.length-1);
						//方案二:substring(begin,end);前包后不包
						//roleString=roleString.substring(0,roleString.length-1);						
					}
					var tr=`<tr id="${user.id}">
			                <td>${index+1}</td>
			                <td>${user.loginName}</td>
			                <td>${user.nickName}</td>
			                <td>${user.loginType}</td>
			                <td>${user.score}</td>
			                <td>${new Date(user.regDate).toLocaleDateString().replace("/","-").replace("/","-")}</td>
			                <td>${user.isLock}</td>
			                <td>${roleString}</td>
			                <td>
			                  <a href="" data-toggle="modal" data-target="#editUser"><span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>编辑</a>
			                  <a href="" data-toggle="modal" data-target=".bs-example-modal-sm"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除</a>
			                </td>
			              </tr>`;
					$("#userPanel table tbody").append(tr);					
				});
				//可以处理分页条,此处的分页条使用一个第三方的基于bootstrap的分页条
				$("#userPanel .pagination").html("");
				var options={
					currentPage:currentPage,//当前页,当前页面显示数据的那个页号
					totalPages:page.totalPage,//总页数
					numberOfPages:5,//分页条中的超链接的个数
					shouldShowPage: true, //是否显示分类按钮
                    useBootstrapTooltip: true, // 是否添加工具提示
					onPageClicked:function(event,originalEvent,type,page){
						//page是用户点击的页号,就是准备跳转到page页上去
						findUsersByPage(page);
					}
				};
				$("#userPanel .pagination").bootstrapPaginator(options);
			}else if(result.status==0){
				alert(result.message);
			}
		},
		error:function(){
			alert("请求失败!!");
		}
	});
}

